import {StoreBase} from "@/stores/StoreBase";


const StoreRoot = new Map()

/**
 * 设置一个状态
 * @param store
 */
export function mapSet(map, store, parent, replace = false) {
    if (!(store instanceof StoreBase)) {
        throw new Error('store must be instanceof StoreBase')
    }
    if (!replace) {
        if (map.has(store.storeKey)) {
            throw new Error(`storeKey:${store.storeKey.toString()} already exists`)
        }
    }
    store._parent = parent
    if (map !== StoreRoot) {
        map.set(store.storeKey, store)
    }
    StoreRoot.set(store.storeKey, store)
}

window.StoreRoot = StoreRoot
export {
    StoreRoot
}
